package com.codeforces.gym.g100095;

import java.io.File;
import java.io.FileWriter;
import java.util.Scanner;

public class B {

	static Scanner scanner;
	static FileWriter writer;
	static int m, n, s, k, from, to, count;
	static String line;

	public static void main(String[] args) throws Exception {
		scanner  = new Scanner(new File("black.in"));
		writer = new FileWriter(new File("black.out"));

		m = scanner.nextInt();
		n = scanner.nextInt();
		s = scanner.nextInt();
		k = scanner.nextInt();
		line = scanner.next();
		
		from = to = -1;
		count = 0;
		for (int i=0;i<line.length();++i) {
			if (line.charAt(i) == '*') {
				count++;
				if (from == -1) {
					from = i+1;
				}
				to = i+1;
			}
		}
		
		if (count != s) {
			if (count != 0) {
				// wrong
				writer.write("Impossible");
			}
			else {
				int up = k - 1;
				up = Math.max(0, up - s + 1);
				int down = m - k;
				down = Math.max(0, down - s + 1);
				if (up + down == 0) {
					writer.write("Impossible");
				}
				else if (up + down == 1) {
					if (n > s) {
						writer.write("Ambiguous");
					}
					else if (n == s) {
						writer.write("Unique");
					}
					else {
						writer.write("Impossible");
					}
				}
				else {
					writer.write("Ambiguous");
				}
			}
		}
		else {
			if (to - from + 1 != s) {
				// wrong
				writer.write("Impossible");
			}
			else {
				int high = k - s + 1;
				if (high <= 0) {
					high = 1;
				}
				if (high == k) {
					if (high + s - 1 <= m) {
						writer.write("Unique");
					}
				}
				else {
					if (high + s - 1 < m) {
						writer.write("Ambiguous");
					}
					else if (high + s - 1 == m) {
						writer.write("Unique");
					}
				}
			}
		}
		
		writer.close();
	}

}
